package com.wjl.picture.common.context;


import cn.dev33.satoken.stp.StpUtil;
import com.wjl.picture.user.model.constant.UserConstant;
import com.wjl.picture.user.model.entity.User;

public class UserContext {
//    private static final ThreadLocal<User> userThreadLocal = new ThreadLocal<>();
//
//    public static void set(User user) {
//        userThreadLocal.set(user);
//
//    }
//
//    public static User get() {
//        return userThreadLocal.get();
//    }
//
//    public static void clear() {
//        userThreadLocal.remove();
//    }

    public static User getUser() {
        return (User) StpUtil.getSession().get(UserConstant.USER_LOGIN_STATE);
    }

    public static void login(User user) {
        StpUtil.login(user.getId());
        StpUtil.getSession().set(UserConstant.USER_LOGIN_STATE, user);
    }

    public static long getUserId() {
        return getUser().getId();
    }

    public static String getUserName() {
        return getUser().getUserName();
    }

    public static String getToken() {
        return StpUtil.getTokenValue();
    }
}
